      SUBROUTINE LOWER ( STRING )
C*
C*                  *******************************
C*                  *******************************
C*                  **                           **
C*                  **          LOWER            **
C*                  **                           **
C*                  *******************************
C*                  *******************************
C*
C*     SUBPROGRAM :
C*          LOWER CASE
C*
C*     AUTHOR :
C*          ART RAGOSTA
C*          MS 207-5
C*          AMES RESEARCH CENTER
C*          MOFFETT FIELD, CA  94035
C*          (415) 694-5578
C*
C*     PURPOSE :
C*          TO REPLACE A STRING WITH THE SAME STRING BUT WITH CAPITAL
C*          LETTERS REPLACED WITH LOWER CASE.
C*
C*     INPUT ARGUMENTS :
C*          STRING - THE STRING TO BE CHNAGED
C*
C*     OUTPUT ARGUMENTS :
C*          STRING - THE LOWER CASE STRING
C*
C*     INTERNAL WORK AREAS :
C*          NONE
C*
C*     COMMON BLOCKS :
C*          NONE
C*
C*     FILE REFERENCES :
C*          NONE
C*
C*     DATA BASE ACCESS :
C*          NONE
C*
C*     SUBPROGRAM REFERENCES :
C*          NONE
C*
C*     ERROR PROCESSING :
C*          NONE
C*
C*     TRANSPORTABILITY LIMITATIONS :
C*          USES THE ASCII VALUE OF 32 FOR IC.
C*
C*     ASSUMPTIONS AND RESTRICTIONS :
C*          THE COLLATING SEQUENCE MUST HAVE 'Z' > 'A' AND ALL CHARACTERS
C*          IN THE UPPER CASE ALPHABET AND LOWER CASE ALPHABET CONTIGUOUS
C*
C*     LANGUAGE AND COMPILER :
C*          ANSI FORTRAN 77
C*
C*     VERSION AND DATE :
C*          VERSION I.0      1-OCT-84
C*
C*     CHANGE HISTORY :
C*           1-OCT-84    INITIAL VERSION
C*
C***********************************************************************
C*
      CHARACTER *(*) STRING
      DATA IC /32/
C
      DO 10 I = 1, LEN(STRING)
         IF ((STRING(I:I) .GE. 'A') .AND. (STRING(I:I) .LE. 'Z'))
     $      STRING(I:I) = CHAR( IC + ICHAR(STRING(I:I)) )
10       CONTINUE
      RETURN
      END
C
C---END LOWER
C
